/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package persistencia;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author aridrobo
 */
@Entity
@Table(name = "Proyecto")
@NamedQueries({
    @NamedQuery(name = "Proyecto.findAll", query = "SELECT p FROM Proyecto p"),
    @NamedQuery(name = "Proyecto.findByIdProyecto", query = "SELECT p FROM Proyecto p WHERE p.idProyecto = :idProyecto"),
    @NamedQuery(name = "Proyecto.findByNomProy", query = "SELECT p FROM Proyecto p WHERE p.nomProy = :nomProy"),
    @NamedQuery(name = "Proyecto.findByIdEmpleado", query = "SELECT p FROM Proyecto p WHERE p.idEmpleado = :idEmpleado"),
    @NamedQuery(name = "Proyecto.findByIdDpto", query = "SELECT p FROM Proyecto p WHERE p.idDpto = :idDpto"),
    @NamedQuery(name = "Proyecto.findByAhorroEsperado", query = "SELECT p FROM Proyecto p WHERE p.ahorroEsperado = :ahorroEsperado"),
    @NamedQuery(name = "Proyecto.findByPresupuesto", query = "SELECT p FROM Proyecto p WHERE p.presupuesto = :presupuesto"),
    @NamedQuery(name = "Proyecto.findByFechaINI", query = "SELECT p FROM Proyecto p WHERE p.fechaINI = :fechaINI"),
    @NamedQuery(name = "Proyecto.findByFechaFIN", query = "SELECT p FROM Proyecto p WHERE p.fechaFIN = :fechaFIN"),
    @NamedQuery(name = "Proyecto.findByRentabilidadEsperada", query = "SELECT p FROM Proyecto p WHERE p.rentabilidadEsperada = :rentabilidadEsperada"),
    @NamedQuery(name = "Proyecto.findByDescripcion", query = "SELECT p FROM Proyecto p WHERE p.descripcion = :descripcion"),
    @NamedQuery(name = "Proyecto.findByEstado", query = "SELECT p FROM Proyecto p WHERE p.estado = :estado")})
public class Proyecto implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idProyecto", nullable = false)
    private Integer idProyecto;
    @Basic(optional = false)
    @Column(name = "nomProy", nullable = false, length = 50)
    private String nomProy;
    @Basic(optional = false)
    @Column(name = "idEmpleado", nullable = false)
    private int idEmpleado;
    @Basic(optional = false)
    @Column(name = "idDpto", nullable = false)
    private int idDpto;
    @Basic(optional = false)
    @Column(name = "ahorroEsperado", nullable = false)
    private int ahorroEsperado;
    @Basic(optional = false)
    @Column(name = "presupuesto", nullable = false)
    private int presupuesto;
    @Basic(optional = false)
    @Column(name = "fechaINI", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date fechaINI;
    @Basic(optional = false)
    @Column(name = "fechaFIN", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date fechaFIN;
    @Basic(optional = false)
    @Column(name = "rentabilidadEsperada", nullable = false)
    private int rentabilidadEsperada;
    @Basic(optional = false)
    @Column(name = "descripcion", nullable = false, length = 100)
    private String descripcion;
    @Basic(optional = false)
    @Column(name = "estado", nullable = false, length = 20)
    private String estado;

    public Proyecto() {
    }

    public Proyecto(Integer idProyecto) {
        this.idProyecto = idProyecto;
    }

    public Proyecto(Integer idProyecto, String nomProy, int idEmpleado, int idDpto, int ahorroEsperado, int presupuesto, Date fechaINI, Date fechaFIN, int rentabilidadEsperada, String descripcion, String estado) {
        this.idProyecto = idProyecto;
        this.nomProy = nomProy;
        this.idEmpleado = idEmpleado;
        this.idDpto = idDpto;
        this.ahorroEsperado = ahorroEsperado;
        this.presupuesto = presupuesto;
        this.fechaINI = fechaINI;
        this.fechaFIN = fechaFIN;
        this.rentabilidadEsperada = rentabilidadEsperada;
        this.descripcion = descripcion;
        this.estado = estado;
    }

    public Integer getIdProyecto() {
        return idProyecto;
    }

    public void setIdProyecto(Integer idProyecto) {
        this.idProyecto = idProyecto;
    }

    public String getNomProy() {
        return nomProy;
    }

    public void setNomProy(String nomProy) {
        this.nomProy = nomProy;
    }

    public int getIdEmpleado() {
        return idEmpleado;
    }

    public void setIdEmpleado(int idEmpleado) {
        this.idEmpleado = idEmpleado;
    }

    public int getIdDpto() {
        return idDpto;
    }

    public void setIdDpto(int idDpto) {
        this.idDpto = idDpto;
    }

    public int getAhorroEsperado() {
        return ahorroEsperado;
    }

    public void setAhorroEsperado(int ahorroEsperado) {
        this.ahorroEsperado = ahorroEsperado;
    }

    public int getPresupuesto() {
        return presupuesto;
    }

    public void setPresupuesto(int presupuesto) {
        this.presupuesto = presupuesto;
    }

    public Date getFechaINI() {
        return fechaINI;
    }

    public void setFechaINI(Date fechaINI) {
        this.fechaINI = fechaINI;
    }

    public Date getFechaFIN() {
        return fechaFIN;
    }

    public void setFechaFIN(Date fechaFIN) {
        this.fechaFIN = fechaFIN;
    }

    public int getRentabilidadEsperada() {
        return rentabilidadEsperada;
    }

    public void setRentabilidadEsperada(int rentabilidadEsperada) {
        this.rentabilidadEsperada = rentabilidadEsperada;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idProyecto != null ? idProyecto.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Proyecto)) {
            return false;
        }
        Proyecto other = (Proyecto) object;
        if ((this.idProyecto == null && other.idProyecto != null) || (this.idProyecto != null && !this.idProyecto.equals(other.idProyecto))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "persistencia.Proyecto[idProyecto=" + idProyecto + "]";
    }

}
